package com.ruoyi.projectAch.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 附件信息，用于存储网页和相关文件的信息对象 web_pages
 *
 * @author ruoyi
 * @date 2023-11-07
 */
public class WebPages extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识符，自增长主键
     */
    private Long id;

    /**
     * 网页的标题
     */
    @Excel(name = "网页的标题")
    private String title;

    /**
     * 网页的URL
     */
    @Excel(name = "网页的URL")
    private String url;

    /**
     * 保存在本地的文件名
     */
    @Excel(name = "保存在本地的文件名")
    private String fileName;

    /**
     * 记录的创建者
     */
    @Excel(name = "记录的创建者")
    private String creator;

    /**
     * 记录的创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录的创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /**
     * 最后修改者
     */
    @Excel(name = "最后修改者")
    private String modifier;

    /**
     * 最后修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modificationTime;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remarks;

    /**
     * 文件的存储位置
     */
    @Excel(name = "文件的存储位置")
    private String filePath;

    /**
     * url的状态是否下载成功
     */
    @Excel(name = "url的状态是否下载成功")
    private String status;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUrl() {
        return url;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileName() {
        return fileName;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModificationTime(Date modificationTime) {
        this.modificationTime = modificationTime;
    }

    public Date getModificationTime() {
        return modificationTime;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("url", getUrl())
                .append("fileName", getFileName())
                .append("creator", getCreator())
                .append("creationTime", getCreationTime())
                .append("modifier", getModifier())
                .append("modificationTime", getModificationTime())
                .append("remarks", getRemarks())
                .append("filePath", getFilePath())
                .append("status", getStatus())
                .toString();
    }
}
